class Resoconti::RapportiGiornalieriController < DefaultController
  require_role self.parent_name.underscore
  active_scaffold :rapporto_giornaliero do |config|
    config.label = Application.controller_label(self)
    
    list.sorting = {:data => 'DESC'}
    config.subform.layout = :vertical
    
    config.actions.add :field_search, :config_list, :export
    
    config.columns = [:data, :veicoli, :referente, :note, :tipi_attrezzo, :rapporto_giornaliero_lavori]
    config.field_search.columns = [:data, :veicoli, :referente, :note, :tipi_attrezzo]
    
    [:referente, :veicoli,:tipi_attrezzo].each { |i|
      config.columns[i].form_ui = :record_select
    }
    config.columns[:referente].label = "Referente squadra"
    config.columns[:referente].options[:params] = {:filter => 'attivi_6_mesi'} 
    config.columns[:tipi_attrezzo].label = "Attrezzatura"
    config.columns[:tipi_attrezzo].sort_by :sql => 'tipi_attrezzo.name'
    config.columns[:veicoli].options = {:multiple => true}
    config.columns[:veicoli].options[:params] = {:filter => 'attivi'} 
    config.columns[:veicoli].sort_by :sql => 'veicoli.numero'
    config.columns[:note].inplace_edit = :ajax
    config.columns[:note].options = NOTE_TEXTAREA
    config.columns[:veicoli].clear_link
    #config.columns[:rapporti_giornalieri_lavori].collapsed = true
    #config.columns[:rapporto_giornaliero_lavori].show_blank_record = false
  end

  def edit_associated
    @parent_record = params[:id].nil? ? active_scaffold_config.model.new : find_if_allowed(params[:id], :update)
    @column = active_scaffold_config.columns[params[:association]]
    @record = @column.association.klass.find(params[:associated_id]) if params[:associated_id]
    @record ||= @column.association.klass.new

    if !@parent_record.rapporto_giornaliero_lavori.first.nil?
      @record.partner_id = @parent_record.rapporto_giornaliero_lavori.last.partner_id
      @record.richiedente_id = @parent_record.rapporto_giornaliero_lavori.last.richiedente_id
      @parent_record.rapporto_giornaliero_lavori.last.lavorazioni.each { |i| @record.lavorazioni << Lavorazione.find(i.id) }
      @parent_record.rapporto_giornaliero_lavori.last.personale.each { |i| @record.personale << Personale.find(i.id) }
    end
    
    @scope = "[#{@column.name}]"
    @scope += (@record.new_record?) ? "[#{(Time.now.to_f*1000).to_i.to_s}]" : "[#{@record.id}]" if @column.plural_association?
    render :action => 'edit_associated'
  end
end
